
using System;
using System.Collections.Generic;

namespace Domain
{
    /// <summary>
    /// 生产计划主表实体
    /// </summary>
    public class ProductionPlan
    {
        /// <summary>单据编码，系统自动生成</summary>
        public string? DocNumber { get; set; } = Guid.NewGuid().ToString();

        /// <summary>业务类型，固定为"production"</summary>
        public string? BizType { get; set; } = "production";

        /// <summary>业务人员</summary>
        public string? BizUser { get; set; } = string.Empty;

        /// <summary>单据日期</summary>
        public DateTime? DocDate { get; set; } = DateTime.Today;

        /// <summary>操作员，默认"njrsun"</summary>
        public string? Operator { get; set; } = "njrsun";

        /// <summary>订单BOM编号</summary>
        public string? OrderBom { get; set; } = string.Empty;

        /// <summary>业务单号</summary>
        public string? BizNumber { get; set; } = string.Empty;

        /// <summary>版本号，最小1</summary>
        public int? Version { get; set; } = 1;

        /// <summary>订单交期</summary>
        public DateTime? DeliveryDate { get; set; }

        /// <summary>版本说明</summary>
        public string? VersionDesc { get; set; } = string.Empty;

        /// <summary>生产总量，保留2位小数</summary>
        public decimal? TotalQuantity { get; set; }

        /// <summary>备注</summary>
        public string? Remark { get; set; } = string.Empty;

        // 关联字段
        /// <summary>关联的物料清单ID集合</summary>
        public string? MaterialListIds { get; set; }

        /// <summary>关联的订单信息ID集合</summary>
        public string? OrderInfoIds { get; set; }

        /// <summary>关联的补料清单ID集合</summary>
        public string? ReplenishmentListIds { get; set; }
    }
}
